O modelo de execução do CUDA transforma seu computador em um sistema heterogêneo de alto desempenho. Imagine um Grande Diretor (o Host/CPUs) e um Exército de Milhares (o Dispositivo/GPU). O Diretor lida com lógica complexa e tomada de decisões, enquanto o Exército realiza tarefas massivas e repetitivas simultaneamente.
1. A Divisão Arquitetônica
O Host é uma CPU otimizada para latência, projetada para fluxos de controle complexos e tarefas sequenciais. Por outro lado, o Dispositivo é um GPU otimizado para throughput, contendo milhares de núcleos simples projetados para executar a mesma instrução sobre grandes conjuntos de dados simultaneamente.
2. O Ritmo da Execução
Um programa CUDA funciona como uma série de fases. A execução começa no Host para o "código serial." Quando o programa atinge um "Kernel Paralelo," ele inicia um Grade de threads no Dispositivo. O controle retorna ao Host assim que o Dispositivo conclui sua carga de trabalho massiva.
3. Especialização de Desempenho
O modelo aproveita as forças de ambos: a CPU gerencia recursos do sistema e ramificações complexas, enquanto o GPU executa SPMD (Programa Único, Múltiplos Dados) lógica para processar elementos de dados em paralelo.